package com.miyuan.wm.service;

import com.miyuan.wm.data.UserInfo;
import com.miyuan.wm.pojo.RecordStorageEntity;
import com.miyuan.wm.request.AddRecordInRequestVo;
import com.miyuan.wm.request.AddRecordOutRequestVo;
import com.miyuan.wm.request.QueryRecordInOutRequestVo;
import com.miyuan.wm.response.BaseResponse;
import com.miyuan.wm.response.PageResponse;
import com.miyuan.wm.response.QueryRecordInOutResponseVo;

import java.util.List;

/**
 * @ClassName RecordService
 * @Description 货物出入库接口
 */
public interface RecordService {

    int RECORD_IN = 1; // 入库
    int RECORD_OUT = 0; // 出库

    /**
     * @Description 货物入库接口
     * @param:
     * @return:
     */
    BaseResponse<Boolean> addRecordIn(UserInfo userInfo, AddRecordInRequestVo requestVo);

    /**
     * @Description 货物出库接口
     * @param:
     * @return:
     */
    BaseResponse<Boolean> addRecordOut(UserInfo userInfo, AddRecordOutRequestVo requestVo);

    /**
     * @Description 根据货物id和仓库id查询库存记录信息
     * @param:
     * @return:
     */
    RecordStorageEntity queryRecordStorage(int goodId, int respositoryId);

    /**
     * @Description 查询出入库记录列表
     * @param:
     * @return:
     */
    PageResponse<List<QueryRecordInOutResponseVo>> listRecordInOut(QueryRecordInOutRequestVo requestVo);

}
